

typedef struct PE_OBJECT_STRUCT
{
    char _PEOBJECT_NAME[8];		// NUL TERMINATED NAME
    unsigned _PEOBJECT_VSIZE;		// ADDRESS SPACE NEEDED
    unsigned _PEOBJECT_RVA;		// MULTIPLE OF OBJECT_ALIGN, DENSE, CURRENT RELOC ADDRESS
    unsigned _PEOBJECT_PSIZE;		// MULTIPLE OF FILE_ALIGN, PHYSICAL FILE SIZE
    unsigned _PEOBJECT_POFFSET;		// SEEK ADDRESS
    unsigned _PEOBJECT_RES1;		// PTR TO RELOCS
    unsigned _PEOBJECT_RES2;		// PTR TO LINENUMBERS
    unsigned short _PEOBJECT_N_RELOCS;
    unsigned short _PEOBJECT_N_LINNUMS;
    unsigned _PEOBJECT_FLAGS;
} PE_OBJECT_STRUCT;

#if 0
PE_IOBJECT_STRUCT	STRUC

_PEOBJECT_NAME		DB	8 DUP(?)	// NUL TERMINATED NAME
_PEOBJECT_VSIZE		DD	?		// ADDRESS SPACE NEEDED
_PEOBJECT_RVA		DD	?		// MULTIPLE OF OBJECT_ALIGN, DENSE, CURRENT RELOC ADDRESS
_PEOBJECT_PSIZE		DD	?		// MULTIPLE OF FILE_ALIGN, PHYSICAL FILE SIZE
_PEOBJECT_POFFSET	DD	?		// SEEK ADDRESS
_PEOBJECT_RES1		DD	?		// PTR TO RELOCS
_PEOBJECT_RES2		DD	?		// PTR TO LINENUMBERS
_PEOBJECT_N_RELOCS	DW	?		// 
_PEOBJECT_N_LINNUMS	DW	?		// 
_PEOBJECT_FLAGS		DD	?		// 
_PEOBJECT_NUMBER	DD	?
_PEOBJECT_NEXT_GINDEX	DD	?

PE_IOBJECT_STRUCT	ENDS


PEOBJECT_FLAGS		RECORD	PEH_WRITABLE:1,PEH_READABLE:1,PEH_EXECUTABLE:1,PEH_SHARED:1,PEH_NOPAGE:1,PEH_NOCACHE:1,PEH_DISCARDABLE:1,PFH:9,PFL_2:8,PEL_UNINIT_DATA_OBJECT:1,PEL_INIT_DATA_OBJECT:1,PEL_CODE_OBJECT:1,PFL_1:5


PE_EXPORT_DIR_STRUCT	STRUC

_PEEXP_FLAGS		DD	?
_PEEXP_TIME_DATE	DD	?
_PEEXP_VER_MAJOR	DW	?
_PEEXP_VER_MINOR	DW	?
_PEEXP_NAME_RVA		DD	?
_PEEXP_ORDINAL_BASE	DD	?
_PEEXP_N_EXPORTS	DD	?		// # OF EXPORTS
_PEEXP_N_POINTERS	DD	?		// # OF NAMES
_PEEXP_ADDRESSES_RVA	DD	?
_PEEXP_NAMES_RVA	DD	?
_PEEXP_ORDINALS_RVA	DD	?

PE_EXPORT_DIR_STRUCT	ENDS


PE_IMPORT_DIR_STRUCT	STRUC

_PEIMP_LOOKUPS_RVA	DD	?		// 
_PEIMP_TIME_DATE	DD	?		// SET TO ZERO
_PEIMP_FORWARDER	DD	?		// ???
_PEIMP_MODNAM_RVA	DD	?		// MODULE NAME
_PEIMP_THUNKS_RVA	DD	?		// 

PE_IMPORT_DIR_STRUCT	ENDS


PAGE_RELOC_STRUCT	STRUC

_PAGE_RELOC_NEXT_HASH_GINDEX	DD	?
_PAGE_RELOC_NEXT_GINDEX	DD	?
_PAGE_RELOC_PREV_GINDEX	DD	?
_PAGE_RELOC_RVA		DD	?
_PAGE_RELOC_SET		DD	?
_PAGE_RELOC_SET_LEFT	DD	?
_PAGE_RELOC_CNT		DD	?

PAGE_RELOC_STRUCT	ENDS


PE_DEBUG_HDR_STRUCT	STRUC

_PDH_CHARACTERISTICS	DD	?
_PDH_TIME_DATE		DD	?
_PDH_VERSION_MAJOR	DW	?
_PDH_VERSION_MINOR	DW	?
_PDH_DEBUG_TYPE		DD	?
_PDH_DEBUG_SIZE		DD	?
_PDH_DEBUG_RVA		DD	?
_PDH_DEBUG_FA		DD	?
; 			DD	?		// FOR PARAGRAPH ALIGNMENT

PE_DEBUG_HDR_STRUCT	ENDS

#endif
